package edu.ccut.saturn.studio.wfg.wfgmodel;

import edu.ccut.saturn.studio.core.util.eclipse.Messages;

public interface SaturnName {
	
	/**
	 * 向导和工具包所需变量
	 * 
	 * */ 
	String ENCODING_UTF_8 = "encoding=\"UTF-8\"";
	String XML_VERSION_1_0 = "xml version=\"1.0\"";
	String SATURN_WORKFLOW = "saturn-workflow";
	String SPACE_CHARACTER = "";
	int MAX = 2000;
	String WORK_FLOW_NAME = "workflow";
	String WORK_FLOW_EXTENSION_NAME = ".wf";
	String WORK_FLOW_EDITOR_NAME = "wf editor";
	String FILE_PARSE_UTILS_COLON = ":";
	String TWO_COLONS = "::";
	String UTF_8 = "UTF-8";
	String SLANT_LINE = "/"; // 正斜线
	String BACK_SLANT_LINE = "\\"; // 反斜线 ;( / equals \\ )
	String FOUR_LINE = "\\\\";
	
	/**
	 * 基本模型信息与XML生成所需变量
	 * 
	 * */
	String XML_NAME = "activity";
	String XML_TYPE = "type" ;
	//// 开始、人工、信息、结束节点、自由节点、子流程节点
	String KEY_NODE_ELEMENT_URL = "url";
	String KEY_NODE_ELEMENT_STARTPOLICY = "startPolicy";
	String KEY_NODE_ELEMENT_LOGICKEY = "logickey";
	String KEY_NODE_ELEMENT_TIMELIMIT = "timeLimit";
	String KEY_NODE_ELEMENT_POLYMEMODE = "polymeMode";
	String KEY_NODE_ELEMENT_TRANSFERMODE= "transferMode";
	String KEY_NODE_ELEMENT_OFFSETMODE = "offsetMode";
	String KEY_NODE_ELEMENT_VALIDATEUSERLOGIC = "validateUserLogic";
	String KEY_NODE_ELEMENT_FORMDATA = "formData";
	String KEY_NODE_ELEMENT_USERS = "users";
	String KEY_NODE_ELEMENT_ISMULTIWORKITEM = "isMultiWorkItem";
	String KEY_NODE_ELEMENT_WORKITEMNUMSTRATEGY = "workitemNumStrategy";
	String KEY_NODE_ELEMENT_AFTERREQUEST = "afterRequest";
	String KEY_NODE_ELEMENT_SUBPROCESS = "subProcess";
	// 全部完成、完成个数、完成百分比，令其分别为1，2，3；字段就用一个isFinishAll即可
	String KEY_NODE_ELEMENT_ISFINISHALL = "isFinishAll";
	String KEY_NODE_ELEMENT_FINISHREQUIREDNUM = "finishRequiredNum";
	String KEY_NODE_ELEMENT_FINISHREQUIREDPERCENT = "finishRequiredPercent";
	String KEY_NODE_ELEMENT_ISAUTOCANCEL = "isAutoCancel";
	// 新加三个字段：组织结构与角色、流程启动者、流程执行者；三个字段可合并为一个字段:令其为1，2，3
	String KEY_NODE_ELEMENT_OBTAINFROMACTIVITYRADIOBUTTON = "obtainFromActivityRadioButton";
	// 从活动中获取
	String KEY_NODE_ELEMENT_USERFROM = "userFrom";
	// 自定义参与者
	String KEY_NODE_ELEMENT_CUSTOMDEFINEPARTICIPANT = "customDefineParticipant";
	
	String KEY_NODE_NAME_KEY = "key";
	String KEY_NODE_NAME_DATA = "data";
	String KEY_NODE_NAME_USER = "user";
	String KEY_NODE_NAME_ID = "id";
	String KEY_NODE_NAME_FULLKEY = "fullKey";
	String KEY_NODE_NAME_PARAMETER = "parameter";
	String KEY_NODE_NAME_IF = "if";
	String KEY_NODE_NAME_THEN = "then";
	String KEY_NODE_NAME_EXPR = "expr";
	String KEY_NODE_NAME_LINENAME = "lineName";
	String KEY_NODE_NAME_PROPERTY = "property";
	String KEY_NODE_NAME_ACCESSTYPE = "accessType"; 
	String KEY_NODE_NAME_REQUIRED = "required" ;
	String KEY_NONE_NAME_VALUE = "value";
	String KEY_NODE_NAME_LOGIC = "logic";
	String KEY_NODE_NAME_ACTION = "action";
	String KEY_NODE_NAME_RENGONGHUODONG = Messages.getString("SaturnName.HumanActivite");   //$NON-NLS-1$
	String KEY_NODE_NAME_LUYOU = Messages.getString("SaturnName.route");   //$NON-NLS-1$
	String KEY_NODE_NAME_ZIYOU = Messages.getString("SaturnName.FreeActivite"); //$NON-NLS-1$
	String KEY_NODE_NAME_ZILIUCHENG = Messages.getString("SaturnName.SubActivite"); //$NON-NLS-1$
	
	String KEY_NODE_ATTRIBUTE_TYPENAMESTART = "start";
	String KEY_NODE_ATTRIBUTE_TYPENAMEHUMAN = "man";
	String KEY_NODE_ATTRIBUTE_END = "end";
	String KEY_NONE_ATTIBUTRE_DECISION = "decision";
	String KEY_NODE_ATTRIBUTE_AUTO = "auto";
	String KEY_NODE_ATTRIBUTE_SUB = "sub";
	// StartLimit节点
	String KEY_NODE_ELEMENT_STARTLIMIT = "startLimit";
	String KEY_STARTLIMIT_LOGICKEY = "logicKey";
	// Information节点
	String KEY_NODE_ELEMENT_INFORMATION = "information";
	String KEY_NODE_ELEMENT_VERSION = "version";
	String KEY_NODE_ELEMENT_AUTHOR = "author";
	
	// 反射方法
	String METHOD_GETKEY = "getKey";
	String METHOD_GETNAME = "getName";
	String METHOD_GETTYPE = "getType";
	String METHOD_GETACCESSTYPE = "getAccessType";
	String METHOD_GETKREQUIRED = "getRequired";
	String METHOD_GETID = "getId";
	String METHOD_GETSATURNATTRIB = "getForm";
	String METHOD_GETUSER = "getUser";
	String METHOD_GETOPTIONITEM = "getOptionItem";
	String METHOD_GETOPTIONVALUE = "getOptionValue";
	String METHOD_GETIFCHECKED= "getIfChecked";
	String METHOD_GETPARAMETER = "getParameter";
	
	// 连线Loader
	String CONNECTION_CONNECTION = "connection";
	String CONNECTION_SOURCE = "source";
	String CONNECTION_TARGET = "target";
}